/**
 *
 */
package jp.takapy.baycity.test;

import java.io.IOException;
import java.net.URLConnection;

import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;

/**
 * @author Takapy
 *
 */
public class HttpHandler implements ContentHandler {

    int mLevel = 0;

    @Override
    public void startDocument() throws SAXException {
        System.out.println("startDocument");
    }

    @Override
    public void endDocument() throws SAXException {
        System.out.println("endDocument");
    }

    @Override
	public void startElement(String uri, String localName, String qName,
			Attributes atts) throws SAXException {
        System.out.print("startElement:");
        for(int i = 0; i < mLevel; i++) System.out.print("　");
        System.out.print("<" + localName + "> ");
        for( int ii = 0; ii < atts.getLength(); ii++)
        {
            System.out.print(" ["+atts.getQName(ii)+"="+atts.getValue(ii)+"]");
        }
        System.out.println();
        mLevel ++;
    }

    @Override
    public void endElement(String uri, String localName, String qName)
            throws SAXException {
        mLevel --;

        System.out.print("endElement  :");
        for(int i = 0; i < mLevel; i++) System.out.print("　");
        System.out.println("<" + localName + ">");
    }

    @Override
    public void characters(char[] ch, int start, int length)
            throws SAXException {

        System.out.print("characters  :");
        for(int i = 0; i < mLevel; i++) System.out.print("　");
        System.out.print("[");
        for (int i = 0; i < length; i++) {
          System.out.print(ch[start + i]);
        }
        System.out.println("]");
    }

	/* (非 Javadoc)
	 * @see org.xml.sax.ContentHandler#endPrefixMapping(java.lang.String)
	 */
	@Override
	public void endPrefixMapping(String prefix) throws SAXException {
		// TODO 自動生成されたメソッド・スタブ

	}

	/* (非 Javadoc)
	 * @see org.xml.sax.ContentHandler#ignorableWhitespace(char[], int, int)
	 */
	@Override
	public void ignorableWhitespace(char[] ch, int start, int length)
			throws SAXException {
		// TODO 自動生成されたメソッド・スタブ

	}

	/* (非 Javadoc)
	 * @see org.xml.sax.ContentHandler#processingInstruction(java.lang.String, java.lang.String)
	 */
	@Override
	public void processingInstruction(String target, String data)
			throws SAXException {
		// TODO 自動生成されたメソッド・スタブ

	}

	/* (非 Javadoc)
	 * @see org.xml.sax.ContentHandler#setDocumentLocator(org.xml.sax.Locator)
	 */
	@Override
	public void setDocumentLocator(Locator locator) {
		// TODO 自動生成されたメソッド・スタブ

	}

	/* (非 Javadoc)
	 * @see org.xml.sax.ContentHandler#skippedEntity(java.lang.String)
	 */
	@Override
	public void skippedEntity(String name) throws SAXException {
		// TODO 自動生成されたメソッド・スタブ

	}

	/* (非 Javadoc)
	 * @see org.xml.sax.ContentHandler#startPrefixMapping(java.lang.String, java.lang.String)
	 */
	@Override
	public void startPrefixMapping(String prefix, String uri)
			throws SAXException {
		// TODO 自動生成されたメソッド・スタブ

	}
}
